package com.study.demo.aop.demo2;

import org.springframework.cache.interceptor.BasicOperation;

import java.lang.reflect.Method;

/**
 * @author: elvin
 * @time: 2019-05-23 15:31
 * @desc:
 **/
public interface ElvinOperationInvocationContext <O extends ElvinOperation>{
    /**
     * Return the cache operation.
     */
    O getOperation();

    /**
     * Return the target instance on which the method was invoked.
     */
    Object getTarget();

    /**
     * Return the method which was invoked.
     */
    Method getMethod();

    /**
     * Return the argument list used to invoke the method.
     */
    Object[] getArgs();
}
